package com.sushi.service;

import com.sushi.enums.Type;
import com.sushi.repository.entity.TagEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sushi.response.PostResp;
import com.sushi.response.ResponseBO;
import com.sushi.response.ResponsePageBO;
import com.sushi.response.TagResp;
import com.sushi.request.TagReq;
import com.sushi.request.TagPageReq;

import java.util.List;

/**
 * 标签 服务类
 * @date 2023-05-02
 * @time 17:15:59
 * @author Administrator
 */
public interface TagService extends IService<TagEntity> {

    

    /**
     * 新增
     */
    public ResponseBO<TagResp> add(TagReq req);

    /**
     * 逻辑删除
     */
    public ResponseBO<TagResp> logicRemove(TagReq req);

    /**
     * 更新
     */
    public ResponseBO<TagResp> updateByField(TagReq req);

    /**
     * 列表
     */
    public ResponsePageBO<TagResp> listByCondition(TagPageReq req);

    /**
     * 详情
     */
    public ResponseBO<TagResp> detail(TagReq req);

    ResponseBO<List<TagResp>> listByType(TagReq req);

    List<String> getRalationIdList(List<String> tagIdList, Type.Tag type);

    void saveRelation(List<String> tagIdList, String objId, Type.Tag objType);

    List<TagResp> getTagListByObjId(String objId, Type.Tag type);

    ;

}